1. Field of the Invention
The present invention relates to parallel execution processors, particularly to techniques for improving utilization efficiency of parallel execution processors.
2. Description of the Related Art
In multimedia data processing in which images and sounds are handled, it is necessary to apply one operation to a huge amount of data, for example, putting a filter on a whole image to change the color tone or the image quality. In order to reduce the time required for such a type of operation, an SIMD (Single Instruction Multiple Data) processor has been conventionally used.
An SIMD processor comprises a plurality of processing elements and has the processing elements respectively execute one instruction in parallel. Normally, an SIMD processor is included in a computer as a coprocessor of a CPU (Central Processing Unit). When there is an operative instruction by the CPU, the SIMD processor fetches one operation instruction and a plurality of pieces of data from a memory, and has the processing elements respectively execute the operation instruction in parallel. For example, when an SIMD processor includes 128 processing elements, one operation instruction is executed in 128-way parallel. This way, it is possible to reduce the time required in multimedia data processing.
Although an SIMD processor is effective when one operation is applied to a huge amount of data, it is not suitable for other types of processing. Because of this reason, a CPU uses an SIMD processor only for multimedia data processing and suspends the operation of the SIMD processor while other types of processing are performed. This results in inefficient utilization of hardware resources as a whole computer.
In addition, an SIMD processor fetches a plurality of pieces of data from the memory all at once; therefore, even during multimedia data processing, when a memory stores therein pieces of data that require different types of operation, the CPU needs to change the order in which the pieces of data are arranged before having the SIMD processor perform those different types of operation. The larger the amount of data is, the longer it takes to change the order of the pieces of data, and it could be an obstacle in reduction of the time required for multimedia data processing.